Push Notification
24.07.2015 - 03:46
Push bildirimi ile gelen url'i Receiver sayfasından MainActivity sayfasına yönlendirip ve bu sayfada url'in webview içinde açılmasını istiyorum.
Fakat şu anki yapmış olduğum projede Receiver sayfasında tarayıcıya yönlendirerek açılıyor.Yardımcı olursanız sevinirim.
Push ile gönderdiğim JSON verisi:
{
"alert": "Push bildirimi",
"badge": "Increment",
"uri": "http://www.google.com.tr"
}
Receiver.java
import android.app.Activity;
import android.app.TaskStackBuilder;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.util.Log;
import com.parse.ParseAnalytics;
import com.parse.ParsePushBroadcastReceiver;
import org.json.JSONException;
import org.json.JSONObject;
public class Receiver extends ParsePushBroadcastReceiver {
// public MainActivity anasayfa;
/*public Receiver(WebView webview) {
this.webview = webview;
}*/
@Override
protected void onPushOpen(Context context, Intent intent) {
super.onPushOpen(context, intent);
ParseAnalytics.trackAppOpenedInBackground(intent);
// Anlik Bildirim acildiginda MainActivity'imizi baslatiyoruz.
Log.d("msg_info", "onPushOpen");
String uriString = null;
try {
Log.d("msg_info", "icerdeyim");
JSONObject pushData = new JSONObject(intent.getStringExtra("com.parse.Data"));
uriString = pushData.optString("uri");
} catch (JSONException e) {
Log.v("com.parse.ParsePushReceiver", "Unexpected JSONException when receiving push data: ", e);
}
Class<? extends Activity> cls = getActivity(context, intent);
Intent activityIntent;
if (uriString != null && !uriString.isEmpty()) {
activityIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uriString));
} else {
activityIntent = new Intent(context, MainActivity.class);
}
activityIntent.putExtras(intent.getExtras());
if (Build.VERSION.SDK_INT >= 22) {
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addParentStack(cls);
stackBuilder.addNextIntent(activityIntent);
stackBuilder.startActivities();
} else {
activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activityIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(activityIntent);
}
}
}
MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.computer.bildirimler.R;
/*import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;*/
public class MainActivity extends Activity {
public WebView webView;
private String uri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView=(WebView)findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
//webView.getSettings().setJavaScriptEnabled(true);
Log.d("msg_info", "haber yükleniyor");
webView.loadUrl(uri);
}
}
8
Görüntülenme
0 Beğeni